home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 October / Macworld (1998-10).dmg / Shareware World / Fonts / GSF-FONDetective / FONDetective Release Notes... < prev    next >
Text File  |  1998-08-01  |  11KB  |  246 lines

  1. RELEASE NOTES FOR FONDetective
  2.  
  3.  
  4. What does it do...?
  5.  
  6. FONDetective writes a text file reporting exhaustively on every
  7. little last thing in the FOND resources of font suitcases. It works
  8. on Type 1, TrueType or Multiple Master suitcases (which are not
  9. fundamentally distinct in any case), and it draws a few conclusions
  10. in the way of error-reporting and helpful hints. If you want to know
  11. why a font like AT&T Garamond is so evil to set, FONDetective will
  12. tell you. If you want to know why low-numbered Adobe volumes have
  13. such bogus kerns, FONDetective will show you where the bodies are
  14. buried. If you want to know what's wrong with a RIP-crashing font,
  15. FONDetective will at least offer clues. And if you need to download
  16. the printer font associated with Franklin Gothic Roman No. 2,
  17. FONDetective will whisper its true name.
  18.  
  19.  
  20.  
  21. Using FONDetective...
  22.  
  23. FONDetective is System 7 and above only. Its only interface is Drag
  24. & Drop, so it will not work with earlier systems. If you try to use
  25. it with an earlier system, the software will display an error
  26. message and quit gracefully. If you double-click on the icon from
  27. System 7, a help message will be displayed and the software will
  28. quit gracefully.
  29.  
  30. To use FONDetective, Drag & Drop one or more suitcases on the icon
  31. (or an alias). A plain text file will be created that will document
  32. with great precision and _no_ concision (grin) the contents of each
  33. FOND resource in the suitcase. You can examine and print the file in
  34. any text editor. (Note: if you use BBEdit, bump its allocation; the
  35. reports can get _very_ large. Also: it's a sweet idea to make sure
  36. you have a few megs of disk space free, particularly with Multiple
  37. Master fonts, which have a new FOND - with a _lot_ of kerning pairs -
  38. for each 'instance'.)
  39.  
  40. The file FONDetective creates is a space-formatted plain text file.
  41. In consequence, you should view and print it in a fixed-width font
  42. such as Courier or Monaco. Monaco does not support the full Macintosh
  43. character set, so, ideally, you should print in Courier, Prestige
  44. Elite, or some other fully-charactered fixed-width font. Alas, even
  45. fixed-width fonts aren't fixed in _every_ width, so you will see some
  46. shifting in alignment in the Widths and Kern tables.
  47.  
  48. You can Drag & Drop as many suitcases as you like on the icon, and
  49. each will be processed in turn, with each suitcase processed
  50. resulting in a new text file with the extension ".FND" appended to
  51. the name of the source suitcase. _In NO case_ will the source
  52. suitcase be altered in any way, and you can operate on suitcases that
  53. are currently in use by Suitcase or Master Juggler.
  54.  
  55. As with any utility of mine that takes time to run, FONDetective
  56. features the sleek and understated Movado Museum watch cursor. And:
  57. at the completion of a batch of suitcases, the software will beep to
  58. let you know that you have regained control of your Mac.
  59.  
  60.  
  61.  
  62. Error reporting...
  63.  
  64. If FONDetective beeps _more than once_ in a batch of files, it means
  65. that an error has occurred. There are three levels of errors, and
  66. FONDetective gives meaningful reports on two of them.
  67.  
  68. The first level is a FOND error (e.g., a duplicate style, which can
  69. be introduced by injudicious use of the Font/DA Mover). FONDetective
  70. will flag this type of error in the report and continue processing
  71. that suitcase. At the time of the beep, the software will display the
  72. nature of the error to the screen.
  73.  
  74. The second level is a resource or system error associated with the
  75. suitcase. In this event, FONDetective will flag the error by its
  76. system error number in the report and to the screen and quit
  77. gracefully. (I've never seen this happen spontaneously, but I built
  78. in the reporting because it _could_. If you want to _make_ it happen,
  79. open a suitcase with ResEdit, then run that same suitcase through
  80. FONDetective.)
  81.  
  82. The third level is a fatal system error, which means that execution
  83. is summarily terminated by the operating system. About these I can
  84. report nothing, but, should they occur, the most likely culprits are
  85. insufficient disk space or bad disk sectors.
  86.  
  87. Having said all that about errors, I should add that FONDetective
  88. itself is not _causing_ errors but only _reporting_ on them. To my
  89. knowledge, based on an _extreme_ amount of testing, it is completely
  90. free of bugs. And, even if that turns out to be untrue, I _know_ that
  91. it is not wreaking the kind of system error havoc that comes of
  92. playing fast and loose with the operating system. We are doing
  93. everything in legal - pedestrian, even - ways. So: if you _do_ have a
  94. fatal error, and if the cause is not intuitively obvious, run
  95. SUM/Norton/etc. right away.
  96.  
  97. And: in fact, there is essentially a fourth level of error-reporting,
  98. which amounts to a legal FOND element that is nevertheless anomalous.
  99. For example, for reasons unknown, my copy of Adobe ITC Franklin
  100. Gothic (volume 23) does not have a Bounding Box Table. This is not an
  101. error as such, but it's odd, as you will see as you become familiar
  102. with FONDetective reports.
  103.  
  104.  
  105.  
  106. FONDetective reports...
  107.  
  108. FONDetective reports on each and every thing found in the FOND
  109. resource. If you've ever looked at a FOND using the ResEdit template,
  110. you know that a FOND consists of a few semi-intelligible bits of
  111. information followed by a sea of hexadecimal numbers (grin). In fact,
  112. a FOND is actually a remarkably compact rendering of an immense
  113. quantity of data. Never was there a poet so economical with words as
  114. the FOND is with numbers, and the FOND wastes not one byte. Of
  115. course, the FOND is being economical with disk space that is no
  116. longer dear, but we can hardly fault the Apple engineers for being
  117. kind to users of tiny, expensive hard (and floppy!) disks that are
  118. now long since obsolete.
  119.  
  120. In any case, while the FOND contains a _lot_ of useful information,
  121. it has never contained much in the way of _accessible_ information.
  122. FONDetective gives you access that that data in a documented,
  123. human-readable format. Hexadecimal numbers that refer to integral
  124. quantities, memory addesses offsets, and resource I.D.s are shown
  125. as integer decimal numbers. Hex numbers that refer to font metric
  126. units (for want of a better name) are shown in floating point decimal
  127. numbers.
  128.  
  129. (For reference, a font metric unit is the em square of a hypothetical
  130. one-point font size. It is stored as a two byte signed short integer,
  131. with the four most significant bits representing the signed integer
  132. portion of the ultimate value and the twelve least significant bits
  133. denoting the signed fraction. Expressed in decimal, the stored
  134. integral number is divided by 4096.0 to yield the displayed floating
  135. point number. Because the the fraction is expressed in 12 bits, the
  136. font metric unit has a granularity of 4,096, which means is has,
  137. effectively, 3-1/2 places of decimal precision. In consequence, the
  138. floating point representation of font metric units is rounded to
  139. three decimal places.)
  140.  
  141. Every bit of information in the FOND is reported upon, but it is not
  142. shown in the exact sequence in which it occurs. The Style Table is
  143. shown before the Widths and Kerns, for example, even though it
  144. usually comes between them or after both (in Multiple Master fonts).
  145. This is done for the convenience of the reader. It seems likely that
  146. you'll need the Style information more often, so it is put first.
  147.  
  148. In the same respect, much of what is reported is either inferred or
  149. derived from the stored data. For example, the FOND never reports on
  150. styles, but only lists a style's number. The Style Name Suffixes are
  151. shown _as they work_, not as they come out of the FOND. And the
  152. Printer Font File Name is derived algorithmically; it is not stored
  153. in the FOND at all. As above, the whole point is to make the data
  154. accessible to and convenient for the user.
  155.  
  156. For the most part, the information is obvious as presented. If you
  157. need greater detail than I'm providing (!!), the structure of the
  158. FOND is documented in Inside Macintosh IV and LaserWriter Reference.
  159. If you avail yourself of these resources, take note that some
  160. critical information is either incorrect or absent, most notably with
  161. the latter book.
  162.  
  163.  
  164.  
  165. Saving paper...
  166.  
  167. If I were writing a utility for money, rather than a development tool
  168. that I'm documenting and giving away, I would do three things: first,
  169. I would show the FONDs by name in a List Manager list, allowing you
  170. to select them individually. Second, I would display the selected
  171. FOND to a scrolling window, so that you could read it to the screen.
  172. And, third, I would make it possible to print directly from the
  173. application, with the software taking care to make best use of the
  174. paper (perhaps with my own truly mono-spaced font). But I ain't, not
  175. now anyway. So viewing and printing are up to you.
  176.  
  177. For the most part, you'll want to view rather than print. For this I
  178. recommend BBEdit, as always. It's fast, reliable and free, and it's
  179. mono-spaced out of the box.
  180.  
  181. But: if you print from BBEdit, you will be dismayed at the number of
  182. pages a typical FONDetective report runs to. For this reason, I've
  183. made a QuarkXPress template (included in this archive) that lets you
  184. pack a lot of FONDetective information onto a few pages.
  185.  
  186.  
  187.  
  188. The usual quasi-legal white noise...
  189.  
  190. FONDetective, its source and executable code, and this poor excuse
  191. for a manual are Copyright (C) 1998 by Greg Swann. All rights are
  192. most emphatically reserved. Greg Swann is a Macintosh software
  193. developer specializing in Desktop Publishing applications. He can be
  194. reached via email at gswann@kagi.com or gswann@primenet.com or by
  195. snailmail at:
  196.  
  197.     Greg Swann
  198.     3608 West Cochise Drive
  199.     Phoenix, AZ 85051
  200.  
  201. FONDetective is freeware and may be distributed freely so long as the
  202. complete, original archive is transmitted.
  203.  
  204. FONDetective is delivered "as is", without any warranties, expressed
  205. or implied. It is not warranted to be useful _to_ anyone, _for_
  206. anything, and in no wise am I to be held responsible for any
  207. unfortunate consequences resulting from its use or misuse. And I
  208. _hate_ having to say things like that. I do my best to write useful,
  209. simple, elegant, bug-free solutions to difficult problems. In this
  210. case, I am giving of my labor at no charge at all. If you take it
  211. into your head that I represent your big chance to 'strike it rich,'
  212. you will pay a lot in legal fees to discover that you have
  213. miscalculated.
  214.  
  215. And: to those to whom the above disclaimer does not apply: forgive me
  216. for having to make it. It's _you_ whom I'm working for, for pay or
  217. for free. I appreciate your custom and your support, and I wish we
  218. all could just comb the others out of our hair...
  219.  
  220.  
  221.  
  222. Projects for the ambitious...
  223.  
  224. ...among whom I do not number myself... (grin)
  225.  
  226. I don't feel confident enough with PageMaker to make a paper-saving
  227. template in it. If you _do_, then it would be an nice enhancement for
  228. FONDetective users.
  229.  
  230. In principle, it should be fairly easy to make a Torquemada set that
  231. would read a FONDetective report and style tag it for a very pretty,
  232. very compact QuarkXPress template. I for one would be boundlessly
  233. grateful if someone were to do this.
  234.  
  235. Lastly, and most ambitiously, I think it would be nice to have a
  236. fully charactered fixed-width font that is fixed in width in each and
  237. every slot. This would come in handy in many contexts, not just this
  238. one.
  239.  
  240.  
  241.  
  242. Very Best,
  243.  
  244. Greg Swann
  245. 8/1/98
  246.